const router = require('koa-router')()
//引入控制器文件
const USER = require("../controller/User")
const AUTH = require("../middleware/auth")
const AD = require("../controller/Ad")
const NAV = require("../controller/Nav")
const VOTE=require("../controller/Vote")
const GOODS = require("../controller/Goods")
const CART = require("../controller/Cart")
const ORDER = require("../controller/Order")
const UNIT = require("../controller/Unit")
// 文件上传
const multer = require('koa-multer');
//配置    
// unit 智能api接口 测试
router.get("/unitai",UNIT.getToken)


var storage = multer.diskStorage({
    //文件保存路径
    destination: function (req, file, cb) {
        cb(null, 'public/uploads/')  //注意路径必须存在
    },
    //修改文件名称
    filename: function (req, file, cb) {
        var fileFormat = (file.originalname).split(".");
        cb(null,Date.now() + "." + fileFormat[fileFormat.length - 1]);
    }
})

//加载配置
var upload = multer({ storage: storage })


// 文件上传
router.get("/",async (ctx)=>{
    ctx.body = ctx.time.getFormatTimeFull(new Date().getTime())
})


router.get("/kf",async (ctx)=>{
   await ctx.render("login")
})
router.get("/chat",async (ctx)=>{
   await ctx.render("chat")
})

router.post("/kfDoLogin",USER.kfDoLogin)
router.get("/getPhotoSql",GOODS.getPhotoSql)
//注册 post请求 指向的方法 就是 controller/User-》createUser这个方法
router.post("/createUser",USER.createUser)
//登录 
router.post("/dologin",USER.doLogin)

router.post("/getAccessToken",USER.getAccessToken)
// 轮播图 将图片 转成base64的 存到vuex 做持久化处理  vuex模块化 
router.get("/getAd",AD.getAdList)
//获取分类列表 掉完接口后 存vuex 并且持久化 v1.1.1 => v1.1.2
router.get("/getNav",NAV.getNavList)
//获取票务列表
router.get("/getVote",VOTE.getvoteList)
//获取 首页酒店
router.get("/getIndexJD",GOODS.getIndexJD)
//获取 酒店列表
router.get("/getJD",GOODS.getJDList)
//获取首页 纪念品
router.get("/getIndexSouvenir",GOODS.getIndexSouvenir)
//获取纪念品列表
router.get("/getSouvenir",GOODS.getSouvenirList)
//获取商品详情
router.get("/goodsDetail",GOODS.goodsDetail)
//获取购物车
router.get("/getCart",CART.getCart)
//添加购物车
router.post("/addCart",CART.addCart)
// 修改购物车
router.post("/editCart",CART.editCart)
// 删除购物车
router.get("/delCart",CART.delCart)

router.post("/notify",async(ctx,next)=>{
    console.log(ctx.request.body)
    
})

router.get("/getSql",GOODS.getSql)

// 生成临时 temp_key用于前端 未登录加入购物车使用 ！！！注意 ：  如果前端的本地存储中 已经存储了这个key 那就不需要在调用此接口
router.get("/getTempKey",USER.getTempKey)
// 刷新token 
router.get("/refish_token",USER.refishToken)
router.get("*",AUTH.check)
router.post("*",AUTH.check)
//检查用户是否已经点击了喜爱
router.get("/likeFlag",GOODS.likeFlag)
// 点击喜爱按钮
router.get("/clickLike",GOODS.checkLike)

router.post("/addOrder",ORDER.createOrder)

router.get("/getSnOrder",ORDER.getOrderInSn)

router.post("/getOrderList",ORDER.getOrderList)

router.post('/uploadFile', upload.single('file'), async (ctx, next) => {
    ctx.body = {
        code:200,
        codeInfo:"成功",
        filename: 'uploads/'+ctx.req.file.filename,//返回文件名
        body:ctx.req.body
    }
});
module.exports = router